筛选器

可以创建称为筛选查询的一类特殊查询。标准查询用于显示来自数据库的信息列表,而筛选查询可用于:

  • 减少某些地方用户可用的值
  • 显示根据运行时自动确定的值筛选出的列表

例如,将选项卡添加至“事件”窗口以显示已添加至事件的注释的两个选项是:

  • 作为集合,显示已添加至事件的所有注释,或者
  • 作为筛选器,仅显示由提升事件的用户添加至事件的那些注释。

有关将选项卡添加至窗口之类的详细信息,请参阅集合

下表高亮显示标准查询和筛选查询之间的主要区别:

标准查询

筛选查询

选择的筛选条件来自作为查询的基础的业务对象。

可以选择从中选择筛选条件的对象。

条件必须设为绝对值:通过提示用户输入所需的值在设计时间或在运行时间设置这些值。

条件可设为绝对值或运行时值。
例如通过事件列表,可以设置用户等于 Dave 的绝对值,以获取 Dave 为用户的事件的列表。也可以设置用户等于(提交用户)的运行时条件,以获取用户提交当前事件的事件列表。

可以包括分组。

不可以包括分组。

筛选查询的典型用法包括:

  • 筛选对象设计器中相关对象上的数据
  • 作为窗口设计上的选项卡,提供与窗口属性相关的信息的列表

有关筛选对象设计器中的相关对象上的数据的详细信息,请参阅数据筛选

以下步骤介绍如何创建可以作为“事件”窗口上的选项卡添加的筛选器,从而仅显示提交用户与事件用户相同的事件的注释。此筛选器有两个条件:

  • “注释”对象上的事件等于窗口上显示的事件
  • “注释”对象上的提交用户等于“事件”对象上的提交用户

起初,筛选器选择“事件管理”模块中的所有注释。第一个条件筛选添加至所选事件的注释,第二个条件筛选与事件具有相同提交用户的注释。

要创建筛选器:
  1. 在查询和报告设计器的操作列表中,单击新建筛选器。
    出现“新建筛选器”对话框。
  2. 键入筛选器的标题说明
  3. 在基于组中,选择包含要在列表中显示的数据的模块和业务对象。
    在示例中,选择事件管理和注释 – 希望看到有关注释的信息的列表。
  4. 在筛选条件组中,为对象(包含希望筛选列表所依据的值)选择模块和业务对象。这会是窗口所基于的对象。
    在示例中,选择事件管理和事件 – 希望按照事件以及事件中用于提交用户的值来筛选。
  5. 选择所有人选项按钮,然后单击确定
    出现筛选器设计器;这与标准查询和报告设计器十分类似。
  6. 添加要显示在列表中的属性,然后单击下一步。
    出现“条件”页面。如果未设置任何条件,则筛选器显示“事件管理”模块中的所有注释。
  7. 属性树上,将第一个筛选条件的属性拖动到当前条件列表上。
    首先,仅希望显示链接至显示的事件的注释,因此将事件关系 () 拖动到当前条件列表上。
    出现“条件”对话框。如果要使用当前事件,则需要指定运行时值,而非绝对值。
  8. 单击指定运行时值
    更新“条件”对话框。

请记住,此对话框中可用值基于事件管理\事件,这是作为筛选依据的值,因此不需要进行选择。希望筛选所依据的顶级值:事件。

  1. 单击确定
    随即更新“当前条件”列表,以显示事件等于 (Incident)。即注释上的事件与窗口中显示的事件相匹配。
  2. 属性树上,将下一个要作为条件的基础的属性拖动到当前条件列表上。
    在示例中,使用提交用户属性。
    出现“条件”对话框。

请注意,“条件”对话框与之前不同,因为正在按照事件上的属性(而非事件本身)进行筛选。

  1. 在比较值组中,选择指定运行时值。
    “值”控件由列表框(可以使用此列表框指定绝对值)更改为树(可以使用此树指定运行时确定的值)。此树中可用的值取自在“新建筛选器”对话框的“筛选条件”组中选择的对象。
  2. 在值树中,选择要利用运行时值匹配筛选条件的属性,然后单击确定。
    在示例中,使用提交用户属性。
    “当前条件”列表更新。
  3. 单击 ,然后单击完成。

在示例中,筛选条件读取事件等于 (Incident) 和提交用户等于 (Raise User)。由于筛选器以事件管理\注释为基础,但是按照事件管理\事件筛选,因此注释上的事件与窗口中显示的事件匹配时,并且注释上的提交用户与当前事件上的提交用户匹配时,这些条件为真。
使用“查询”控件将此筛选器添加至“事件”窗口(请参阅将查询添加至窗口)可在列出所有附加至事件(与事件具有相同的“提交用户”值)的注释的窗口下方创建一个选项卡。